A complex script refers to a script family. The complex script may require complex transformations, and processing between text input and text display for proper layout and rendering on the display device. Generally, in order for a computer to understand and render such complex scripts requires the computer to have high processing power and resources, such as fonts, script specific rules, and layout and font engines.
In complex scripts the way text is stored is not mapped to the way it is displayed in a straightforward fashion as in Latin. Complex scripts are different from the Latin script in terms of interpretation and shape of a character. Unlike in the Latin script, characters in complex scripts may have a different interpretation and look or shape depending upon the context and/or the order of appearance of the characters. Some popular examples of complex scripts are the Brahmic script family (as Devanagari) and the Arabic script family. Some other common examples of complex script families are Indic, Hebrew, Thai, and Tibetan. In these complex scripts the look, shape, position and attachment of the glyph depends on the order of the characters and also on the contextual position of the characters in the text (i.e. what character precedes and/or follows it).
An example of a change of an Indic script character due to the presence of Halant after it and the presence of a constant after Halant is illustrated in FIG. 1. As illustrated in FIG. 1, an SA character 100 having a Unicode of (U+0938) changes shape due to a Halant character 102 having a Unicode of (U+094D) after the SA character 100 and the presence of a TA character 104 having a Unicode of (U+0924) after the Halant character 102. Specifically, the right vertical line of the SA character 100 is removed to form the SATA character 106.
Another example of Indic script characters combining to form a singleton ligature is illustrated in FIG. 2. As illustrated in FIG. 2, three initial characters, a JA character 200 having a Unicode of (U+91C), a Halant character 202 having a Unicode of (U+094D), and a NYA character 204 having a Unicode of (U+091E) generate a single GYA character 206. To generate the GYA character 206 the right vertical line of the JA character 200 is removed due to the presence of the Halant character 202 to form a Half JA character 208. Then the Half JA character 208 is combined with the NYA character 204 to form the final GYA character 206.
Lastly, an example of an alteration of a position of a dependant mark is illustrated in FIG. 3. As illustrated in FIG. 3, a character 300, a constant, having a Unicode of (U+0915) and a character 302, a dependant vowel, having a Unicode of (U+0941) are combined to form the character 304 having a glyph 306. The glyph 306 is not in the correct position, thus the glyph is repositioned horizontally along an axis 308 (x axis) to form the final character 310.
In today's technological world, there are multiple handheld computer devices, such as smart-phones, mobile phones, and/or PDAs (personal digital assistants) that are widely used. The handheld computer devices typically have approximately 240×320 pixel screens, and relatively limited computation power, memory, and/or bandwidth to the Internet. Due to their limited capabilities, most of the handheld computer devices lack the support for complex scripts while viewing the World Wide Web.
Some of the handheld computer devices do have support for one or two complex scripts, but that support is dependant on the original equipment manager (OEM) and local device availability. Generally, the handheld computer devices depend on the OEM preinstalled software support for rendering, layout and input of complex scripts. More specifically, in order for a handheld computer device to correctly layout and render a webpage with complex script the device may require the device's underlying platform support to install the fonts of the many complex scripts and the device may depend on the underlying software to support such complex scripts rendering. The OEM preinstalled software is usually limited to support for one or two complex scripts and few devices extend the support for complex languages on web content rendering. Further, not all handheld computer devices come with the support of layout, render and input of complex scripts and few devices support these complex scripts for web content rendering.
Currently some companies provide a limited amount of complex script support. The complex script support provided by these companies is done by creating images from the server of the complex script string and transferring the complex script string as an image over the network to the client.
Generally, handheld/mobile devices are low in computing power, and to parse various kinds of web content it takes a good deal of time and resources for the handheld device to interpret and render web content. Though there are solutions available for rendering web content, the solutions may have one or more of the following issues: the contents are limited to handheld/mobile contents, which carry low amounts of information, have low quality or no images and require multiple clicks; data transfers take more time than on a desktop due to low bandwidth connectivity; only partial web standards are supported; and the rendering of web pages is slow and buggy.